package com.javarush.test.level18.lesson10.bonus01;

/* Шифровка
Придумать механизм шифровки/дешифровки

Программа запускается с одним из следующих наборов параметров:
-e fileName fileOutputName
-d fileName fileOutputName
где
fileName - имя файла, который необходимо зашифровать/расшифровать
fileOutputName - имя файла, куда необходимо записать результат шифрования/дешифрования
-e - ключ указывает, что необходимо зашифровать данные
-d - ключ указывает, что необходимо расшифровать данные
*/

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Solution {

    public static void main(String[] args) {
        /*switch(args[0])
        {
            case("-e"):
            {
                try
                {
                    crypt(args[1],args[2]);
                }
                catch (IOException e)
                {
                    System.out.print("ERROR");
                    break;
                }
                break;
            }
            case("-d"):
            {
                try
                {
                    enCrypt(args[1],args[2]);
                }
                catch (IOException e)
                {
                    System.out.print("ERROR");
                    break;
                }
                break;
            }
        }*/

    }

    static void crypt(String fileName, String fileW) throws IOException
    {
        FileInputStream file=new FileInputStream(fileName);
        byte[] arr=new byte[file.available()];
        file.read(arr);
        file.close();
        for(int i=0; i<arr.length; i++)
        {
            int c=(int)arr[i];
            c=c+5;
            arr[i]=(byte)c;
        }
        fileWrite(fileW,arr);
        file.close();
    }

    static void enCrypt(String fileName,String fileW) throws IOException
    {
        FileInputStream file=new FileInputStream(fileName);
        byte[] arr=new byte[file.available()];
        file.read(arr);
        file.close();
        for(int i=0; i<arr.length; i++)
        {
            int c=(int)arr[i];
            c=c-5;
            arr[i]=(byte)c;
        }
        fileWrite(fileW,arr);
        file.close();
    }

    static void fileWrite(String fileName, byte[] array) throws IOException
    {
        FileOutputStream file=new FileOutputStream(fileName);
        file.write(array);
        file.close();
    }
}
